runtime.g.m (field)

495 uses

	runtime (current package)
		atomic_pointer.go#L34: 	buf := getg().m.p.ptr().wbBuf.get2()
		cgocall.go#L147: 	mp := getg().m
		cgocall.go#L200: 	getg().m.winsyscall = winsyscall
		cgocall.go#L303: 	if gp != gp.m.curg {
		cgocall.go#L308: 	sp := gp.m.g0.sched.sp // system sp saved by cgocallback.
		cgocall.go#L309: 	oldStack := gp.m.g0.stack
		cgocall.go#L310: 	oldAccurate := gp.m.g0StackAccurate
		cgocall.go#L311: 	callbackUpdateSystemStack(gp.m, sp, false)
		cgocall.go#L320: 	checkm := gp.m
		cgocall.go#L324: 	winsyscall := gp.m.winsyscall
		cgocall.go#L339: 	gp.m.incgo = false
		cgocall.go#L340: 	if gp.m.isextra {
		cgocall.go#L341: 		gp.m.isExtraInC = false
		cgocall.go#L344: 	osPreemptExtExit(gp.m)
		cgocall.go#L355: 	gp.m.incgo = true
		cgocall.go#L358: 	if gp.m.isextra && gp.m.ncgo == 0 {
		cgocall.go#L361: 		gp.m.isExtraInC = true
		cgocall.go#L364: 	if gp.m != checkm {
		cgocall.go#L368: 	osPreemptExtEnter(gp.m)
		cgocall.go#L373: 	gp.m.winsyscall = winsyscall
		cgocall.go#L376: 	gp.m.g0.stack = oldStack
		cgocall.go#L377: 	gp.m.g0.stackguard0 = oldStack.lo + stackGuard
		cgocall.go#L378: 	gp.m.g0.stackguard1 = gp.m.g0.stackguard0
		cgocall.go#L379: 	gp.m.g0StackAccurate = oldAccurate
		cgocall.go#L385: 	if gp.m.needextram || extraMWaiters.Load() > 0 {
		cgocall.go#L386: 		gp.m.needextram = false
		cgocall.go#L411: 	if gp.m.ncgo == 0 {
		cgocall.go#L422: 	if gp.m.profilehz != hz {
		cgocall.go#L431: 	if debug.dataindependenttiming == 1 && gp.m.isextra {
		cgocheck.go#L42: 	if gp == gp.m.g0 || gp == gp.m.gsignal {
		cgocheck.go#L48: 	if gp.m.mallocing != 0 {
		coro.go#L48: 		mp := gp.m
		coro.go#L114: 	mp := gp.m
		coro.go#L175: 		setMNoWB(&gp.m, nil)
		coro.go#L223: 	setMNoWB(&gnext.m, mp)
		debug.go#L212: 	if gp == gp.m.g0 || gp == gp.m.gsignal {
		debug.go#L231: 	if gp == gp.m.g0 || gp == gp.m.gsignal {
		debugcall.go#L35: 	if getg() != getg().m.curg {
		debugcall.go#L137: 		mp := gp.m
		debugcall.go#L193: 	mp := gp.m
		debugcall.go#L230: 			gp.m.lockedg = 0
		debuglog.go#L133: 	if gp != nil && gp.m != nil && gp.m.p != 0 {
		debuglog.go#L134: 		l.w.varint(int64(gp.m.p.ptr().id))
		heapdump.go#L364: 	dumpint(uint64(uintptr(unsafe.Pointer(gp.m))))
		heapdump.go#L699: 	casGToWaiting(gp.m.curg, _Grunning, waitReasonDumpingHeap)
		heapdump.go#L714: 	casgstatus(gp.m.curg, _Gwaiting, _Grunning)
		iface.go#L137: 	if getg().m.mallocing != 0 {
		lock_futex.go#L37: 	if gp != gp.m.g0 {
		lock_futex.go#L46: 		gp.m.blocked = true
		lock_futex.go#L51: 		gp.m.blocked = false
		lock_futex.go#L69: 			gp.m.blocked = true
		lock_futex.go#L74: 			gp.m.blocked = false
		lock_futex.go#L88: 		gp.m.blocked = true
		lock_futex.go#L93: 		gp.m.blocked = false
		lock_futex.go#L108: 	if gp != gp.m.g0 && gp.m.preemptoff != "" {
		lock_futex.go#L119: 	if gp == gp.m.g0 {
		lock_futex.go#L140: 	mp := getg().m
		lock_spinbit.go#L157: 	if gp.m.locks < 0 {
		lock_spinbit.go#L160: 	gp.m.locks++
		lock_spinbit.go#L172: 	semacreate(gp.m)
		lock_spinbit.go#L195: 					gp.m.mLockProfile.end(startTime)
		lock_spinbit.go#L201: 					gp.m.mLockProfile.end(startTime)
		lock_spinbit.go#L234: 			gp.m.mWaitList.startTicks = cputicks()
		lock_spinbit.go#L235: 			startTime = gp.m.mLockProfile.start()
		lock_spinbit.go#L239: 		gp.m.mWaitList.next = mutexWaitListHead(v)
		lock_spinbit.go#L242: 		next := (uintptr(unsafe.Pointer(gp.m)) &^ mutexMMask) | v&mutexMMask | mutexSleeping
		lock_spinbit.go#L251: 			atTail = gp.m.mWaitList.next == 0 // we were at risk of starving
		lock_spinbit.go#L255: 		gp.m.mWaitList.next = 0
		lock_spinbit.go#L317: 	gp.m.mLockProfile.store()
		lock_spinbit.go#L318: 	gp.m.locks--
		lock_spinbit.go#L319: 	if gp.m.locks < 0 {
		lock_spinbit.go#L322: 	if gp.m.locks == 0 && gp.preempt { // restore the preemption request in case we've cleared it in newstack
		lock_spinbit.go#L410: 				getg().m.mLockProfile.recordUnlock(cycles * int64(n))
		lockrank_off.go#L42: 	releasem(getg().m)
		malloc.go#L1098: 		if assistG := getg().m.curg; assistG != nil {
		malloc.go#L1701: 	if assistG.m.curg != nil {
		malloc.go#L1702: 		assistG = assistG.m.curg
		mbitmap.go#L421: 	buf := &getg().m.p.ptr().wbBuf
		mbitmap.go#L481: 	buf := &getg().m.p.ptr().wbBuf
		mbitmap.go#L1291: 	getg().m.traceback = 2
		mbitmap.go#L1379: 	buf := &getg().m.p.ptr().wbBuf
		mbitmap.go#L1432: 	buf := &getg().m.p.ptr().wbBuf
		mbitmap.go#L1904: 	if gp := getg(); gp.m.curg.stack.lo <= uintptr(p) && uintptr(p) < gp.m.curg.stack.hi {
		mbitmap.go#L1907: 		for u.initAt(gp.m.curg.sched.pc, gp.m.curg.sched.sp, 0, gp.m.curg, 0); u.valid(); u.next() {
		mcheckmark.go#L92: 		getg().m.traceback = 2
		mcheckmark.go#L137: 	gcw := &getg().m.p.ptr().gcw
		mcheckmark.go#L140: 	wbBufFlush1(getg().m.p.ptr())
		mgc.go#L316: 	p := getg().m.p.ptr()
		mgc.go#L952: 	getg().m.preemptoff = "gcing"
		mgc.go#L986: 		getg().m.preemptoff = ""
		mgc.go#L1434: 	gp.m.preemptoff = "GC worker init"
		mgc.go#L1436: 	gp.m.preemptoff = ""
		mgc.go#L1499: 		pp := gp.m.p.ptr() // P can't change with preemption disabled.
		mgcmark.go#L227: 			userG := getg().m.curg
		mgcmark.go#L444: 	if getg() == gp.m.g0 {
		mgcmark.go#L447: 	if mp := getg().m; mp.locks > 0 || mp.preemptoff != "" {
		mgcmark.go#L676: 	trackLimiterEvent := gp.m.p.ptr().limiterEvent.start(limiterEventMarkAssist, startTime)
		mgcmark.go#L689: 	gcw := &getg().m.p.ptr().gcw
		mgcmark.go#L721: 	pp := gp.m.p.ptr()
		mgcmark.go#L892: 	p := getg().m.p.ptr()
		mgcmark.go#L1176: 	gp := getg().m.curg
		mgcmark.go#L1177: 	pp := gp.m.p.ptr()
		mgcmark.go#L1330: 	gp := getg().m.curg
		mgcmark.go#L1645: 	gcw := &getg().m.p.ptr().gcw
		mgcmark.go#L1680: 			getg().m.traceback = 2
		mgcmark.go#L1792: 	gcw := &getg().m.p.ptr().gcw
		mgcpacer.go#L733: 	if gp == nil || gp.m == nil || gp.m.p == 0 {
		mgcpacer.go#L736: 	myID := gp.m.p.ptr().id
		mgcsweep.go#L363: 	gp.m.locks++
		mgcsweep.go#L369: 		gp.m.locks--
		mgcsweep.go#L447: 	gp.m.locks--
		mgcsweep.go#L469: 	if gp.m.locks == 0 && gp.m.mallocing == 0 && gp != gp.m.g0 {
		mgcsweep.go#L508: 	if gp.m.locks == 0 && gp.m.mallocing == 0 && gp != gp.m.g0 {
		mgcsweep.go#L691: 		getg().m.p.ptr().trace.reclaimed += uintptr(nfreed) * s.elemsize
		mgcwork.go#L534: 		gp := getg().m.curg
		mheap.go#L1138: 	pp := getg().m.p.ptr()
		mheap.go#L1163: 	pp := getg().m.p.ptr()
		mheap.go#L1195: 	pp := getg().m.p.ptr()
		mheap.go#L1238: 	pp := gp.m.p.ptr()
		mheap.go#L1766: 	gp.m.mallocing++
		mheap.go#L1771: 	gp.m.mallocing--
		mprof.go#L547: 	if tracefpunwindoff() || gp.m.hasCgoOnStack() {
		mprof.go#L548: 		if gp.m.curg == nil || gp.m.curg == gp {
		mprof.go#L551: 			nstk = gcallers(gp.m.curg, skip, mp.profStack)
		mprof.go#L554: 		if gp.m.curg == nil || gp.m.curg == gp {
		mprof.go#L565: 			mp.profStack[0] = gp.m.curg.sched.pc
		mprof.go#L566: 			nstk = 1 + fpTracebackPartialExpand(skip, unsafe.Pointer(gp.m.curg.sched.bp), mp.profStack[1:])
		mprof.go#L756: 	if gp := getg(); gp.m.locks == 1 && gp.m.mLockProfile.haveStack {
		mprof.go#L1417: 	if getg().m.p.ptr() == nil {
		mprof.go#L1646: 			g0.m.traceback = 1
		mprof.go#L1653: 			g0.m.traceback = 0
		mstats.go#L777: 	if pp := getg().m.p.ptr(); pp != nil {
		mstats.go#L806: 	if pp := getg().m.p.ptr(); pp != nil {
		mwbbuf.go#L170: 	if getg().m.dying > 0 {
		mwbbuf.go#L174: 		getg().m.p.ptr().wbBuf.discard()
		mwbbuf.go#L181: 		wbBufFlush1(getg().m.p.ptr())
		os_linux.go#L392: 	mp.gsignal.m = mp
		os_linux.go#L405: 	getg().m.procid = uint64(gettid())
		os_linux.go#L413: 	getg().m.procid = 0
		os_linux.go#L629: 	mp := getg().m
		os_linux.go#L782: 		releasem(getg().m)
		os_linux.go#L845: 	tid := gp.m.procid
		os_linux.go#L867: 	releasem(getg().m)
		os_linux.go#L882: 	if gp.m.needPerThreadSyscall.Load() == 0 {
		os_linux.go#L898: 	gp.m.needPerThreadSyscall.Store(0)
		panic.go#L64: 	if gp != nil && gp.m != nil && gp.m.mallocing != 0 {
		panic.go#L78: 	if gp != nil && gp.m != nil && gp.m.mallocing != 0 {
		panic.go#L274: 	if gp.m.curg != gp {
		panic.go#L379: 	if gp.m.curg != gp {
		panic.go#L465: 	if gp.m.curg != gp {
		panic.go#L743: 	if gp.m.curg != gp {
		panic.go#L750: 	if gp.m.mallocing != 0 {
		panic.go#L756: 	if gp.m.preemptoff != "" {
		panic.go#L761: 		print(gp.m.preemptoff)
		panic.go#L765: 	if gp.m.locks != 0 {
		panic.go#L1267: 	if gp.m.throwing == throwTypeNone {
		panic.go#L1268: 		gp.m.throwing = t
		panic.go#L1363: 	gp.m.mallocing++
		panic.go#L1367: 	if gp.m.locks < 0 {
		panic.go#L1368: 		gp.m.locks = 1
		panic.go#L1371: 	switch gp.m.dying {
		panic.go#L1374: 		gp.m.dying = 1
		panic.go#L1385: 		gp.m.dying = 2
		panic.go#L1391: 		gp.m.dying = 3
		panic.go#L1421: 		if gp != gp.m.curg {
		panic.go#L1424: 		if gp != gp.m.g0 {
		panic.go#L1428: 		} else if level >= 2 || gp.m.throwing >= throwTypeRuntime {
		panic.go#L1518: 	if gp.m.incgo || findfunc(pc).valid() {
		preempt.go#L106: 	if mp := getg().m; mp.curg != nil && readgstatus(mp.curg) == _Grunning {
		preempt.go#L195: 			if gp.preemptStop && gp.preempt && gp.stackguard0 == stackPreempt && asyncM == gp.m && asyncM.preemptGen.Load() == asyncGen {
		preempt.go#L210: 			asyncM2 := gp.m
		preempt.go#L344: 	return (gp.preempt || gp.m.p != 0 && gp.m.p.ptr().preempt) && readgstatus(gp)&^_Gscan == _Grunning
		preempt.go#L364: 	mp := gp.m
		print.go#L66: 	mp := getg().m
		print.go#L76: 	mp := getg().m
		print.go#L96: 	if gp == nil || gp.writebuf == nil || gp.m.dying > 0 {
		proc.go#L149: 	mp := getg().m
		proc.go#L597: 		g.m.traceback = 2 // include pc and sp in stack trace
		proc.go#L657: 	return gp.lockedm != 0 && gp.m.lockedg != 0
		proc.go#L879: 	mcommoninit(gp.m, -1)
		proc.go#L885: 	sigsave(&gp.m.sigmask)
		proc.go#L886: 	initSigmask = gp.m.sigmask
		proc.go#L915: 	mProfStackInit(gp.m)
		proc.go#L1001: 	if gp != gp.m.g0 {
		proc.go#L1524: 	gp.m.preemptoff = reason.String()
		proc.go#L1637: 	casGToWaitingForSuspendG(getg().m.curg, _Grunning, waitReasonStoppingTheWorld)
		proc.go#L1648: 	if gp.m.locks > 0 {
		proc.go#L1658: 	gp.m.p.ptr().status = _Pgcstop // Pgcstop is only diagnostic.
		proc.go#L1659: 	gp.m.p.ptr().gcStopTime = start
		proc.go#L1747: 	casgstatus(getg().m.curg, _Gwaiting, _Grunning)
		proc.go#L1914: 	if gp != gp.m.g0 {
		proc.go#L1933: 	if gp.m == &m0 {
		proc.go#L1941: 	if fn := gp.m.mstartfn; fn != nil {
		proc.go#L1945: 	if gp.m != &m0 {
		proc.go#L1946: 		acquirep(gp.m.nextp.ptr())
		proc.go#L1947: 		gp.m.nextp = 0
		proc.go#L1974: 	notesleep(&gp.m.park)
		proc.go#L1975: 	noteclear(&gp.m.park)
		proc.go#L1989: 	mp := getg().m
		proc.go#L2116: 		gp := getg().m.curg
		proc.go#L2150: 	pp := getg().m.p.ptr()
		proc.go#L2248: 	p := getg().m.p.ptr()
		proc.go#L2293: 	if gp.m.p == 0 {
		proc.go#L2350: 	mp.g0.m = mp
		proc.go#L2352: 	if pp == gp.m.p.ptr() {
		proc.go#L2356: 	releasem(gp.m)
		proc.go#L2531: 	gp.m = mp
		proc.go#L2593: 	mp := getg().m
		proc.go#L2701: 	if g.m.g0 != g {
		proc.go#L2721: 	return uintptr(unsafe.Pointer(getg().m))
		proc.go#L2878: 	if gp := getg(); gp != nil && gp.m != nil && (gp.m.lockedExt != 0 || gp.m.incgo) && GOOS != "plan9" {
		proc.go#L2904: 		releasem(getg().m)
		proc.go#L2908: 	releasem(getg().m)
		proc.go#L3000: 	if gp.m.locks != 0 {
		proc.go#L3003: 	if gp.m.p != 0 {
		proc.go#L3006: 	if gp.m.spinning {
		proc.go#L3011: 	mput(gp.m)
		proc.go#L3014: 	acquirep(gp.m.nextp.ptr())
		proc.go#L3015: 	gp.m.nextp = 0
		proc.go#L3020: 	getg().m.spinning = true
		proc.go#L3258: 	if gp.m.lockedg == 0 || gp.m.lockedg.ptr().lockedm.ptr() != gp.m {
		proc.go#L3261: 	if gp.m.p != 0 {
		proc.go#L3269: 	status := readgstatus(gp.m.lockedg.ptr())
		proc.go#L3272: 		dumpgstatus(gp.m.lockedg.ptr())
		proc.go#L3275: 	acquirep(gp.m.nextp.ptr())
		proc.go#L3276: 	gp.m.nextp = 0
		proc.go#L3285: 	if mp == getg().m {
		proc.go#L3307: 	if gp.m.spinning {
		proc.go#L3308: 		gp.m.spinning = false
		proc.go#L3337: 	mp := getg().m
		proc.go#L3348: 	gp.m = mp
		proc.go#L3378: 	mp := getg().m
		proc.go#L3796: 	p := getg().m.p.ptr()
		proc.go#L3817: 	pp := getg().m.p.ptr()
		proc.go#L4011: 	if !gp.m.spinning {
		proc.go#L4014: 	gp.m.spinning = false
		proc.go#L4075: 	pp := getg().m.p.ptr()
		proc.go#L4124: 	mp := getg().m
		proc.go#L4219: 	setMNoWB(&gp.m.curg.m, nil)
		proc.go#L4220: 	setGNoWB(&gp.m.curg, nil)
		proc.go#L4230: 	mp := getg().m
		proc.go#L4324: 	if !canPreemptM(gp.m) {
		proc.go#L4414: 	pp := gp.m.p.ptr()
		proc.go#L4453: 	mp := getg().m
		proc.go#L4461: 	gp.m = nil
		proc.go#L4529: 	if gp == gp.m.g0 || gp == gp.m.gsignal {
		proc.go#L4580: 	gp.m.locks++
		proc.go#L4629: 	if gp.m.p.ptr().runSafePointFn != 0 {
		proc.go#L4635: 	gp.m.syscalltick = gp.m.p.ptr().syscalltick
		proc.go#L4636: 	pp := gp.m.p.ptr()
		proc.go#L4638: 	gp.m.oldp.set(pp)
		proc.go#L4639: 	gp.m.p = 0
		proc.go#L4646: 	gp.m.locks--
		proc.go#L4683: 	pp := gp.m.oldp.ptr()
		proc.go#L4727: 	gp.m.locks++ // see comment in entersyscall
		proc.go#L4730: 	gp.m.syscalltick = gp.m.p.ptr().syscalltick
		proc.go#L4731: 	gp.m.p.ptr().syscalltick++
		proc.go#L4769: 	gp.m.locks--
		proc.go#L4804: 	gp.m.locks++ // see comment in entersyscall
		proc.go#L4810: 	oldp := gp.m.oldp.ptr()
		proc.go#L4811: 	gp.m.oldp = 0
		proc.go#L4825: 			lostP := oldp != gp.m.p.ptr() || gp.m.syscalltick != gp.m.p.ptr().syscalltick
		proc.go#L4842: 		gp.m.p.ptr().syscalltick++
		proc.go#L4852: 		gp.m.locks--
		proc.go#L4870: 	gp.m.locks--
		proc.go#L4882: 	gp.m.p.ptr().syscalltick++
		proc.go#L4928: 	if gp.m.syscalltick != gp.m.p.ptr().syscalltick {
		proc.go#L4936: 				trace.ProcSteal(gp.m.p.ptr(), true)
		proc.go#L4940: 		gp.m.p.ptr().syscalltick++
		proc.go#L5029: 	gp := getg().m.curg
		proc.go#L5034: 	gp.m.locks++
		proc.go#L5035: 	sigsave(&gp.m.sigmask)
		proc.go#L5058: 	gp := getg().m.curg
		proc.go#L5063: 	msigrestore(gp.m.sigmask)
		proc.go#L5065: 	gp.m.locks--
		proc.go#L5102: 	msigrestore(getg().m.sigmask)
		proc.go#L5164: 		pp := getg().m.p.ptr()
		proc.go#L5458: 	gp.m.lockedg.set(gp)
		proc.go#L5459: 	gp.lockedm.set(gp.m)
		proc.go#L5486: 	gp.m.lockedExt++
		proc.go#L5487: 	if gp.m.lockedExt == 0 {
		proc.go#L5488: 		gp.m.lockedExt--
		proc.go#L5496: 	getg().m.lockedInt++
		proc.go#L5510: 	if gp.m.lockedInt != 0 || gp.m.lockedExt != 0 {
		proc.go#L5513: 	gp.m.lockedg = 0
		proc.go#L5533: 	if gp.m.lockedExt == 0 {
		proc.go#L5536: 	gp.m.lockedExt--
		proc.go#L5543: 	if gp.m.lockedInt == 0 {
		proc.go#L5546: 	gp.m.lockedInt--
		proc.go#L5632: 	getg().m.mallocing++
		proc.go#L5690: 		if gp != nil && gp.m != nil && gp.m.curg != nil {
		proc.go#L5691: 			tagPtr = &gp.m.curg.labels
		proc.go#L5698: 		if gp != nil && gp.m != nil {
		proc.go#L5699: 			if gp.m.curg != nil {
		proc.go#L5700: 				gprof = gp.m.curg
		proc.go#L5702: 			mp = gp.m
		proc.go#L5703: 			pp = gp.m.p.ptr()
		proc.go#L5707: 	getg().m.mallocing--
		proc.go#L5721: 	gp.m.locks++
		proc.go#L5745: 	gp.m.locks--
		proc.go#L5808: 	getg().m.p.ptr().timers.take(&pp.timers)
		proc.go#L5840: 			mp := getg().m
		proc.go#L5931: 	if gp.m.p != 0 && gp.m.p.ptr().id < nprocs {
		proc.go#L5933: 		gp.m.p.ptr().status = _Prunning
		proc.go#L5934: 		gp.m.p.ptr().mcache.prepareForSweep()
		proc.go#L5941: 		if gp.m.p != 0 {
		proc.go#L5948: 				trace.ProcStop(gp.m.p.ptr())
		proc.go#L5951: 			gp.m.p.ptr().m = 0
		proc.go#L5953: 		gp.m.p = 0
		proc.go#L5987: 		if gp.m.p.ptr() == pp {
		proc.go#L6041: 	if gp.m.p != 0 {
		proc.go#L6060: 	gp.m.p.set(pp)
		proc.go#L6061: 	pp.m.set(gp.m)
		proc.go#L6069: 		trace.ProcStop(getg().m.p.ptr())
		proc.go#L6079: 	if gp.m.p == 0 {
		proc.go#L6082: 	pp := gp.m.p.ptr()
		proc.go#L6083: 	if pp.m.ptr() != gp.m || pp.status != _Prunning {
		proc.go#L6084: 		print("releasep: m=", gp.m, " m->p=", gp.m.p.ptr(), " p->m=", hex(pp.m), " p->status=", pp.status, "\n")
		proc.go#L6087: 	gp.m.p = 0
		proc.go#L6497: 	if mp == nil || mp == getg().m {
		proc.go#L6604: 		if gp.m != nil {
		proc.go#L6605: 			print(gp.m.id)
		proc.go#L7454: 	mp := gp.m
		proc.go#L7474: 	gp.m.locks--
		proc.go#L7514: 	if p := getg().m.p.ptr(); !runqempty(p) {
		rand.go#L165: 	mp := getg().m
		rand.go#L228: 	mp := getg().m
		runtime.go#L237: 	if gp != nil && gp.m.dying > 0 ||
		runtime1.go#L42: 	all = gp.m.throwing >= throwTypeUser || t&tracebackAll != 0
		runtime1.go#L43: 	if gp.m.traceback != 0 {
		runtime1.go#L44: 		level = int32(gp.m.traceback)
		runtime1.go#L45: 	} else if gp.m.throwing >= throwTypeRuntime {
		runtime1.go#L630: 	gp.m.locks++
		runtime1.go#L631: 	return gp.m
		runtime2.go#L408: 	m         *m      // current m; offset known to arm liblink
		rwmutex.go#L89: 				m := getg().m
		rwmutex.go#L124: 	m := getg().m
		sema.go#L148: 	if gp != gp.m.curg {
		sema.go#L264: 		if s.ticket == 1 && getg().m.locks == 0 && getg() != getg().m.g0 {
		signal_unix.go#L330: 	getg().m.profilehz = hz
		signal_unix.go#L352: 	gp.m.preemptGen.Add(1)
		signal_unix.go#L353: 	gp.m.signalPending.Store(0)
		signal_unix.go#L438: 	if gp == nil || (gp.m != nil && gp.m.isExtraInC) {
		signal_unix.go#L476: 	setg(gp.m.gsignal)
		signal_unix.go#L480: 	setStack := adjustSignalStack(sig, gp.m, &gsignalStack)
		signal_unix.go#L482: 		gp.m.gsignal.stktopsp = sys.GetCallerSP()
		signal_unix.go#L644: 	mp := gsignal.m
		signal_unix.go#L1213: 	if gp != nil && gp.m != nil && gp.m.curg != nil && !gp.m.isExtraInC && !gp.m.incgo {
		signal_unix.go#L1328: 	mp := getg().m
		signal_unix.go#L1349: 	nmask := getg().m.sigmask
		signal_unix.go#L1363: 	if getg().m.newSigstack {
		signal_unix.go#L1373: 		restoreGsignalStack(&getg().m.goSigStack)
		signal_unix.go#L1420: 		old.stack = gp.m.gsignal.stack
		signal_unix.go#L1421: 		old.stackguard0 = gp.m.gsignal.stackguard0
		signal_unix.go#L1422: 		old.stackguard1 = gp.m.gsignal.stackguard1
		signal_unix.go#L1423: 		old.stktopsp = gp.m.gsignal.stktopsp
		signal_unix.go#L1426: 	gp.m.gsignal.stack.lo = stsp
		signal_unix.go#L1427: 	gp.m.gsignal.stack.hi = stsp + st.ss_size
		signal_unix.go#L1428: 	gp.m.gsignal.stackguard0 = stsp + stackGuard
		signal_unix.go#L1429: 	gp.m.gsignal.stackguard1 = stsp + stackGuard
		signal_unix.go#L1438: 	gp := getg().m.gsignal
		stack.go#L349: 	if thisg != thisg.m.g0 {
		stack.go#L380: 		if stackNoCache != 0 || thisg.m.p == 0 || thisg.m.preemptoff != "" {
		stack.go#L389: 			c := thisg.m.p.ptr().mcache
		stack.go#L509: 		if stackNoCache != 0 || gp.m.p == 0 || gp.m.preemptoff != "" {
		stack.go#L519: 			c := gp.m.p.ptr().mcache
		stack.go#L679: 				getg().m.traceback = 2
		stack.go#L912: 	gcController.addScannableStack(getg().m.p.ptr(), int64(newsize)-int64(old.hi-old.lo))
		stack.go#L1018: 	if thisg.m.morebuf.g.ptr().stackguard0 == stackFork {
		stack.go#L1021: 	if thisg.m.morebuf.g.ptr() != thisg.m.curg {
		stack.go#L1022: 		print("runtime: newstack called from g=", hex(thisg.m.morebuf.g), "\n"+"\tm=", thisg.m, " m->curg=", thisg.m.curg, " m->g0=", thisg.m.g0, " m->gsignal=", thisg.m.gsignal, "\n")
		stack.go#L1023: 		morebuf := thisg.m.morebuf
		stack.go#L1028: 	gp := thisg.m.curg
		stack.go#L1030: 	if thisg.m.curg.throwsplit {
		stack.go#L1032: 		morebuf := thisg.m.morebuf
		stack.go#L1046: 		thisg.m.traceback = 2 // Include runtime frames
		stack.go#L1051: 	morebuf := thisg.m.morebuf
		stack.go#L1052: 	thisg.m.morebuf.pc = 0
		stack.go#L1053: 	thisg.m.morebuf.lr = 0
		stack.go#L1054: 	thisg.m.morebuf.sp = 0
		stack.go#L1055: 	thisg.m.morebuf.g = 0
		stack.go#L1076: 		if !canPreemptM(thisg.m) {
		stack.go#L1104: 		if gp == thisg.m.g0 {
		stack.go#L1107: 		if thisg.m.p == 0 && thisg.m.locks == 0 {
		stack.go#L1243: 		if !(gp == getg().m.curg && getg() != getg().m.curg && s == _Grunning) {
		stack.go#L1254: 	if gp == getg().m.curg && gp.m.libcallsp != 0 {
		synctest.go#L201: 		pp := getg().m.p.ptr()
		synctest.go#L213: 			curg := gp.m.curg
		synctest.go#L214: 			gp.m.curg = nil
		synctest.go#L216: 			gp.m.curg = curg
		time.go#L1027: 	force := ts == &getg().m.p.ptr().timers && int(zombies) > int(ts.len.Load())/4
		time.go#L1053: 		force = ts == &getg().m.p.ptr().timers && int(ts.zombies.Load()) > int(ts.len.Load())/4
		time.go#L1129: 			tsLocal = &gp.m.p.ptr().timers
		time.go#L1185: 			gp.racectx = gp.m.p.ptr().timers.raceCtx
		trace.go#L376: 			me := getg().m.curg
		trace.go#L393: 				if s.g.m != nil {
		trace.go#L394: 					ug.mid = int64(s.g.m.procid)
		trace.go#L816: 		getg().racectx = getg().m.curg.racectx
		traceback.go#L134: 	if ourg := getg(); ourg == gp && ourg == ourg.m.curg {
		traceback.go#L288: 		if u.flags&unwindJumpStack != 0 && gp == gp.m.g0 && gp.m.curg != nil && gp.m.curg.m == gp.m {
		traceback.go#L296: 				gp = gp.m.curg
		traceback.go#L319: 				gp = gp.m.curg
		traceback.go#L458: 		if doPrint && gp.m.incgo && f.funcID == abi.FuncID_sigpanic {
		traceback.go#L815: 	if gp.m.libcallsp != 0 {
		traceback.go#L817: 		traceback1(gp.m.libcallpc, gp.m.libcallsp, 0, gp.m.libcallg.ptr(), 0)
		traceback.go#L825: 	if iscgo && gp.m != nil && gp.m.ncgo > 0 && gp.syscallsp != 0 && gp.m.cgoCallers != nil && gp.m.cgoCallers[0] != 0 {
		traceback.go#L832: 		gp.m.cgoCallersUse.Store(1)
		traceback.go#L833: 		cgoCallers := *gp.m.cgoCallers
		traceback.go#L834: 		gp.m.cgoCallers[0] = 0
		traceback.go#L835: 		gp.m.cgoCallersUse.Store(0)
		traceback.go#L846: 	if gp.m != nil && gp.m.vdsoSP != 0 {
		traceback.go#L849: 		pc = gp.m.vdsoPC
		traceback.go#L850: 		sp = gp.m.vdsoSP
		traceback.go#L1004: 				if gp.m != nil && gp.m.throwing >= throwTypeRuntime && gp == gp.m.curg || level >= 2 {
		traceback.go#L1114: 	mp := getg().m
		traceback.go#L1239: 	if gp.m != nil && gp.m.throwing >= throwTypeRuntime && gp == gp.m.curg || level >= 2 {
		traceback.go#L1241: 		if gp.m != nil {
		traceback.go#L1242: 			print(" m=", gp.m.id, " mp=", gp.m)
		traceback.go#L1278: 	curgp := getg().m.curg
		traceback.go#L1302: 		if gp.m != getg().m && readgstatus(gp)&^_Gscan == _Grunning {
		traceback.go#L1669: 	if panicking.Load() > 0 || getg().m.curg != getg() {
		traceback.go#L1689: 	if panicking.Load() > 0 || getg().m.curg != getg() {
		tracebuf.go#L47: 		if gp == gp.m.curg {
		tracebuf.go#L115: 		if gp == gp.m.curg {
		traceruntime.go#L432: 	gp := getg().m.curg
		traceruntime.go#L433: 	pp := gp.m.p
		tracestack.go#L38: 		mp = getg().m
		vgetrandom_linux.go#L108: 	mp := getg().m